package org.wheel.base.dao;

import java.io.Serializable;
import java.util.List;

/**
 * @author klaus.wang
 */
public interface IBaseDao<T> {

	/**
	 *  insert
	 * @param entity
	 */
	void insert(T entity);

	/**
	 * 动态插入
	 * 
	 * @param entity
	 */
	void insert_dynamic(T entity);

	/**
	 *  update
	 * @param entity
	 */
	void update(T entity);

	/**
	 * 动态更新
	 * 
	 * @param entity
	 */
	void update_dynamic(T entity);

	/**
	 *  deleteById
	 * @param id
	 */
	void deleteById(Serializable id);

	/**
	 * getById
	 * @param id
	 * @return
	 */
	T getById(Serializable id);

	/**
	 * list
	 * @param params
	 * @return
	 */
	List<T> list(Object params);

}
